The present invention relates generally to techniques for estimating customer wait times in customer contact systems and specifically to techniques for estimating wait times for non-real-time customer contacts.
In customer contact systems or use centers, calls incoming to a call center are answered and handled by a plurality of agents. The system automatically distributes and connects incoming calls to whatever agents are suited to handling the calls and are free, i.e., not handling other calls at the moment. As used herein, a xe2x80x9ccallxe2x80x9d refers to any mode or type of contact between two entities, including without limitation voice calls, VoIP, text-chat, e-mail, fax, electronic documents, webforms, voice messages, and video calls, to name but a few.
A system frequently becomes overloaded when no suitable agents are available to handle calls when the calls come in. The calls are placed in different queues based upon some preestablished criteria and are placed in each queue in the order of their arrival and/or priority.
Information on how long either an individual or an average caller has to wait to have his or her call serviced is important information for the service provider. It is often the most important factor for deciding how to treat the call and thus serves as a crucial tool for customizing customer service. Estimated waiting time is also an important measure of the service provider""s performance.
Numerous techniques have been developed over time to estimate a call""s wait-time in queue. One estimation technique uses the average wait time to answer calls that have been placed in queue. Another estimation technique uses the wait time of the oldest call in the queue. Yet another estimation technique uses, as the wait-time estimate, the number of calls in the queue multiplied by the average time it takes an agent to handle a call, divided by the number of agents available to handle the calls. Yet another estimation technique is known as weighted advanced time (WAT), which is an exponential moving average based on the Average Advanced Time (AAT) of each individual call in queue. This approach is described in U.S. Pat. No. 5,506,898, which is incorporated herein by this reference.
These predictive techniques have been optimized for real-time contacts but can be inaccurate when applied to non-real-time contacts. As used herein, real-time contacts refer to contacts in which the contacting entity or customer is present during the waiting (or queuing) period and can choose to abandon or disconnect the contact if the call is not serviced within an acceptable period. Common examples include voice calls, VoIP, text-chat, video calls, and the like. Non-real-time contacts refer to contacts in which the contacting entity or customer is unable to abandon or disconnect the contact. Common examples include e-mail, fax, electronic or paper documents, webform submissions, voice messages, and the like. For example, non-real-time contacts may stay in queue overnight or over a weekend or holiday when the contact center is unstaffed. When the contact is serviced, the time to advance one position in the queue for the contact may be exceptionally large. The above-predictive techniques may be skewed by such excessive advance times and cause work distribution to be handled inefficiently and/or ineffectively.
Although some architectures have features to consider for certain types of events that can skew the wait-time prediction, the functionalities are inapplicable or undesirable for non-real-time contacts. For example, one architecture marks or flags all calls in a queue when a clock adjustment occurs. The wait or advance times for all of the marked or flagged items are discarded in determining the predicted wait time. This approach discards unnecessarily wait-time information that should be considered in determining the predicted wait time for non-real-time contacts.
These and other problems are addressed by the present invention. The present invention is directed generally to an architecture for predicting queue wait times that removes undesirable deviations in wait time predictions caused by predetermined events and/or to an architecture for predicting queue wait times for non-real-time contacts or calls in a different manner from real-time contacts or calls serviced by the same or a different system.
In one embodiment, a method is provided for estimating a waiting time of a particular item in a queue that includes the steps of:
(a) providing a first item in a queue for servicing, e.g., by a working agent, at a first time, wherein at least one of the following statements is true:
(I) the first time follows the occurrence of at least one of the following events: (i) the queue has no working agents (e.g., the switching center (or call or contact center) is unstaffed); (ii) the queue is empty (e.g., the contact center has idle working agents), (iii) the contact center (or call or switching center) is not operational (e.g., the contact center is shut down or is otherwise out of service); (iv) a working agent of the contact center elects not to service the item (e.g., the rules governing the servicing of items permits the next available working agent to defer or decline servicing the item); and/or (v) a change of the clock (such as by an administrator or otherwise) that is accessed by the contact center for timing information; and
(II) a time associated with the first item exceeds a predetermined time; and
(b) excluding a time interval, advance time, or other type of timing information associated with the first item from an estimation of a wait time (e.g., WAT, etc.) associated with the queue. The wait time can be determined using any suitable techniques, including those described above.
The first item (or work item) can be a real or non-real-time contact, with non-real-time contacts being most typical.
This methodology can have numerous advantages. First, the methodology provides an effective technique for providing accurate wait-time predictions for non-real-time contacts. For example, when a contact center is unstaffed overnight or over a weekend or holiday the first contact serviced will not cause the WAT value to be adjusted upward by an inappropriate amount. Second by discarding only the item that immediately follows or is impacted by the predetermined type of event, the methodology avoids unnecessarily discarding important wait-time information. Third by discarding items having advance times that exceed a predetermined time interval, the methodology discards items that would adversely impact the wait-time prediction but are not in the list of predetermined types of events.
In one configuration, the statements are not true with respect to a second item in the queue. In that event, a time interval, advance time, or other type of timing information associated with the second item is used in determining the wait time prediction.
In another configuration, the method determines an advance time for the second item by measuring the time interval between successive queue services from the queue; that is, a service time associated with a preceding item in the queue (which may be the first item) is subtracted from the second time. Unlike prior art architectures, the advance time is determined independently of an ordering of the second item in the queue.
In another configuration, the method includes the additional step of setting a marker, pointer or other type of indicator (or deactivating a marker, pointer or other type of indicator) when the statement is found to exist (or one of the events (i) through (v) occurs) with respect to an item in a queue and/or the queue itself.
In another embodiment, a method for estimating a waiting time is provided that includes the steps of:
(a) providing a first item in a queue for servicing at a first time, the first time following the occurrence of a predetermined type of event;
(b) excluding a time interval, advance time, or other type of timing information associated with the first item from an estimation of a wait time associated with the queue;
(c) providing a second item in the queue for servicing at a second time, wherein both of the first and second items were in the queue when the predetermined type of event occurred; and
(d) using a time interval, advance time, or other type of timing information associated with the second item in the estimation of a wait time associated with the queue. This method is particularly useful for considering waiting time aberrations that occur when the system clock is changed; the contact center is nonoperational; and/or a working agent of the contact center elects not to service the item.
In yet a further embodiment, a method for estimating a waiting time is provided that includes the steps of:
(a) providing a queue of items;
(b) filtering an item in the queue based upon at least one predetermined criterion (e.g., the events or conditions referred to above) to form a filtered set of items, wherein at least one of the items in the queue is excluded from the filtered set of items;
(c) determining an advance time for a selected item in the filtered set of items by subtracting from a service time associated with the selected item a service time associated with a preceding item; and
(d) determining an estimated waiting time in the queue for a particular item based on the advance time. Step (c) typically includes the substep of determining a weighted advance time (WAT) based on the advance times for the items in the particular queue, and step (d) would determine the estimated waiting time in the queue for the particular item based on the WAT.
In other embodiments, the present invention includes system architectures to perform the above-described method steps.
In yet a further embodiment, an arrangement for estimating a waiting time of a particular item in a queue of items is provided that includes:
(a) at least one queue of items, wherein first and second items are contained in a first queue;
(b) a memory containing the at least one queue of items;
(c) a processor in communication with the memory for advancing enqueued items in the at least one queue of items;
(d) a filter for filtering serviced items in the first queue to form a set of filtered items, the filtering being based on whether the item was enqueued in the first queue after at least one of the following types of events occurred: (i) the first queue had no working agents; (ii) the first queue was empty, (iii) a contact center associated with the first queue was not operational; (iv) a working agent of the contact center elected not to service the item; and/or (v) a change of the time setting of the clock providing timing information to the contact center; and
(e) a waiting time predictor for predicting, based on a time associated with an item in the set of filtered items, a waiting time of a particular item in the first queue.
The above-described embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.